package top.fangw.tenant.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import top.fangw.common.core.entity.BaseIdNameVo;
import top.fangw.tenant.pojo.dto.TenantPackageAddDto;
import top.fangw.tenant.pojo.dto.TenantPackageQueryDto;
import top.fangw.tenant.pojo.entity.TenantPackageInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 用途：提供不同类型的套餐时长、开发功能菜单范围 服务类
 * </p>
 *
 * @author fangw
 * @since 2024-01-16
 */
public interface ITenantPackageInfoService extends IService<TenantPackageInfo> {

    /**
     * 添加
     * @param tenantPackageAddDto 套餐信息
     */
    void add(TenantPackageAddDto tenantPackageAddDto);

    /**
     * 更新
     * @param tenantPackageAddDto 更新内容
     */
    void updateTenantPackage(TenantPackageAddDto tenantPackageAddDto);

    /**
     * 删除
     * @param id 套餐ID
     */
    void delete(String id);

    /**
     * 获取详细信息
     * @param id 套餐ID
     * @return 详细信息
     */
    TenantPackageAddDto getDetail(String id);

    /**
     * 分页查询
     * @param queryDto 查询条件
     * @return 分页结果
     */
    IPage<TenantPackageInfo> pageList(TenantPackageQueryDto queryDto);

    /**
     * 获取套餐下拉信息
     * @return 套餐下拉信息
     */
    List<BaseIdNameVo> listPackage();

}
